Разработка Android-приложений в деталях - Тимур Машнин
Шрифт:
Интервал:
Закладка:
Для создания ресурса Color State List в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Color List.
Поле File: мастера создания ресурса Color State List предлагает ввести имя нового файла XML-описания набора цветов различных состояний View-компонента, который затем с расширением. xml появится в каталоге res/color Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.color.filename или в XML-коде с помощью ссылки @ [package: ] color/filename.
Раздел Root Element: мастера отображает элементы item и selector, представляющие тэги <item> и <selector> соответственно, при этом тэг <selector> является корневым тэгом XML-файла ресурса Color State List и поэтому в разделе Root Element: необходимо выбрать элемент selector.
Тэг <selector> может содержать один или несколько тэгов <item>, определяющих цвета для различных состояний View-объекта, используя атрибуты:
android: color – цвет состояния в формате #RGB, #ARGB, #RRGGBB, #AARRGGBB.
android: state_pressed – состояние нажатия, true/false.
android: state_focused – компонент в фокусе, true/false.
android: state_selected – компонент выбран, true/false.
android: state_checkable – компонент содержит флажок выбора, true/false.
android: state_checked – флажок компонента отмечен, true/false.
android: state_enabled – компонент доступен, true/false.
android: state_window_focused – окно приложения на переднем плане, true/false.
После ввода имени нового XML-файла ресурса Color State List, выбора элемента selector и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки color, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка color с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.
После создания нового XML-файла ресурса Color State List он будет открыт в XML-редакторе кода.
Тип ресурса Property Animation и Tween Animation
Ресурс Property Animation описывает изменение свойства объекта в течение определенного промежутка времени. Анимация свойств объектов представлена в версиях Android-платформы, начиная с версии 3.0.
Для запуска анимации свойства объекта на основе XML-описания необходимо создать из XML-ресурса Property Animation объект android.animation.AnimatorSet, android.animation. ObjectAnimator или android.animation.ValueAnimator, используя статический метод android.animation.AnimatorInflater. loadAnimator (), и связать анимацию с объектом с помощью метода setTarget () суперкласса android.animation.Animator, после чего запустить анимацию методом start () суперкласса Animator.
Для создания ресурса Property Animation в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Property Animation.
Поле File: мастера создания ресурса Property Animation предлагает ввести имя нового файла XML-описания анимации, который затем с расширением. xml появится в каталоге res/animator Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.animator.filename или в XML-коде с помощью ссылки @ [package: ] animator/filename.
Раздел Root Element: мастера отображает элементы animator, objectAnimator и set, представляющие тэги <animator>, <objectAnimator> и <set> соответственно, при этом каждый из них может служить единственным корневым тэгом XML-файла ресурса Property Animation.
Тэг <animator> представляет класс ValueAnimator и описывает анимацию значения типа float, int или color в течение определенного промежутка времени, используя атрибуты:
android: duration – время анимации в миллисекундах, по умолчанию 300ms.
android: valueFrom – начальное значение.
android: valueTo – конечное значение.
android: startOffset – задержка анимации в миллисекундах.
android: repeatCount – количество циклов анимации, значение -1 означает бесконечную анимацию.
android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.
android: valueType – тип значения для анимации, для значения типа color не указывается, возможные значения intType и floatType (по умолчанию).
Тэг <objectAnimator> представляет класс ObjectAnimator и описывает анимацию значения свойства объекта в течение определенного промежутка времени, используя атрибуты:
android: propertyName – имя свойства объекта, например android: propertyName=«alpha».
android: duration – время анимации в миллисекундах, по умолчанию 300ms.
android: valueFrom – начальное значение свойства.
android: valueTo – конечное значение свойства.
android: startOffset – задержка анимации в миллисекундах.
android: repeatCount – количество циклов анимации, значение -1 означает бесконечную анимацию.
android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.
android: valueType – тип значения для анимации, для значения типа color не указывается, возможные значения intType и floatType (по умолчанию).
Тэг <set> представляет класс AnimatorSet и обеспечивает группировку анимаций, используя атрибут android: ordering с возможными значениями together (анимации проигрываются параллельно) и sequentially (анимации проигрываются последовательно).
После ввода имени нового XML-файла ресурса Property Animation, выбора корневого элемента и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки animator, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка animator с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.
После создания нового XML-файла ресурса Property Animation он будет открыт в XML-редакторе кода.
Ресурс Tween Animation описывает анимацию вращения, исчезновения, перемещения и масштабирования View-компонента. Для запуска анимации View-компонента на основе XML-описания необходимо создать из XML-ресурса Tween Animation объект android.view.animation.Animation, используя статический метод android.view.animation.AnimationUtils. loadAnimation () и запустить анимацию методом startAnimation (Animation animation) суперкласса android.view.View.
Для создания ресурса Tween Animation в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Tween Animation.
Поле File: мастера создания ресурса Tween Animation предлагает ввести имя нового файла XML-описания анимации, который затем с расширением. xml появится в каталоге res/anim Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.anim.filename или в XML-коде с помощью ссылки @ [package: ] anim/filename.
Раздел Root Element: мастера отображает элементы alpha, rotate, scale, set и translate, представляющие тэги <alpha>, <rotate>, <scale>, <set> и <translate> соответственно, при этом каждый из них может служить единственным корневым тэгом XML-файла ресурса Tween Animation.
Вышеупомянутые тэги имеют общие атрибуты, унаследованные от суперкласса android.view.animation.Animation:
android: detachWallpaper – если true, тогда обои не анимируются вместе с окном.
android: duration – продолжительность анимации в миллисекундах.
android: fillAfter – если true, тогда преобразование применяется после окончания анимации.
android: fillBefore – если true, тогда преобразование применяется перед началом анимации.
android: fillEnabled – если true, тогда значение fillBefore учитывается.
android: interpolator – указывает объект android.view.animation.Interpolator, отвечающий за определение скорости анимации.
android: repeatCount – количество циклов анимации.
android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.
android: startOffset – задержка анимации в миллисекундах.
android: zAdjustment – определяет поведение компонента по оси Z, возможные значения normal (позиция в стеке сохраняется), top (компонент в течение анимации находится на вершине стека), bottom (компонент в течение анимации находится внизу стека).
Тэг <alpha> представляет класс AlphaAnimation и описывает анимацию значения прозрачности в течение определенного промежутка времени, используя атрибуты:
android: fromAlpha – начальное значение прозрачности.
android: toAlpha – конечное значение прозрачности.
Тэг <rotate> представляет класс RotateAnimation и описывает вращение вокруг оси, используя атрибуты:
android: fromDegrees – начальный угол вращения.
android: toDegrees – конечный угол вращения.
android: pivotX и android: pivotY – координаты оси вращения от левого края компонента в пикселях или процентах.
Тэг <scale> представляет класс ScaleAnimation и описывает масштабирование компонента, используя атрибуты:
android: fromXScale – начальный коэффициент масштабирования по оси Х.
android: toXScale – конечный коэффициент масштабирования по оси Х.